package com.ruoyi.school.service;

import com.ruoyi.school.domain.PacScientificProjects;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.school.domain.PacSoftPatent;
import com.ruoyi.school.domain.vo.AcademicCommonVo;
import com.ruoyi.school.domain.vo.HonorWallTopThreeVo;
import com.ruoyi.school.domain.vo.PacAcademicOutputVo;
import com.ruoyi.school.handler.wall.WallTopThree;
import com.ruoyi.system.domain.TableData;

import java.util.List;

/**
* @author jeremylin
* @description 针对表【pac_scientific_projects(大创科研项目)】的数据库操作Service
* @createDate 2025-07-10 22:22:14
*/
public interface PacScientificProjectsService extends IService<PacScientificProjects> {

    TableData<PacAcademicOutputVo> getList(PacAcademicOutputVo academicOutput);

    PacScientificProjects getDetails(PacScientificProjects pacSoftPatent);

    boolean add(PacScientificProjects pacSoftPatent);

    boolean addByStu(PacScientificProjects pacSoftPatent);

    boolean edit(PacScientificProjects pacSoftPatent);

    boolean editByStu(PacScientificProjects pacSoftPatent);

    boolean delete(PacScientificProjects pacSoftPatent);

    boolean wall(AcademicCommonVo pacSoftPatent);

    boolean unWall(AcademicCommonVo academicCommonVo);

    List<PacScientificProjects> myList(PacScientificProjects pacAcademicOutput);

    void audit(PacScientificProjects output);

    List<HonorWallTopThreeVo> getTopThree(WallTopThree builder);

    List<HonorWallTopThreeVo> getStuHonorList(WallTopThree wallTopThree);

    long countByAudit();

    List<PacScientificProjects> selectStuTop5(Integer id);
}
